home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Games / Doom / ADoom-0.8 / ADoom_src / i_system.h < prev    next >
C/C++ Source or Header  |  1998-06-24  |  2KB  |  100 lines

  1. // Emacs style mode select   -*- C++ -*- 
  2. //-----------------------------------------------------------------------------
  3. //
  4. // $Id:$
  5. //
  6. // Copyright (C) 1993-1996 by id Software, Inc.
  7. //
  8. // This source is available for distribution and/or modification
  9. // only under the terms of the DOOM Source Code License as
  10. // published by id Software. All rights reserved.
  11. //
  12. // The source is distributed in the hope that it will be useful,
  13. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. // FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License
  15. // for more details.
  16. //
  17. // DESCRIPTION:
  18. //    System specific interface stuff.
  19. //
  20. //-----------------------------------------------------------------------------
  21.  
  22.  
  23. #ifndef __I_SYSTEM__
  24. #define __I_SYSTEM__
  25.  
  26. #include "d_ticcmd.h"
  27. #include "d_event.h"
  28.  
  29. #ifdef __GNUG__
  30. #pragma interface
  31. #endif
  32.  
  33.  
  34. #define MAXARGVS        100
  35.  
  36. // Called by DoomMain.
  37. void I_Init (void);
  38.  
  39. // Called by startup code
  40. // to get the ammount of memory to malloc
  41. // for the zone management.
  42. byte*    I_ZoneBase (int *size);
  43.  
  44.  
  45. // Called by D_DoomLoop,
  46. // returns current time in tics.
  47. int I_GetTime (void);
  48.  
  49.  
  50. //
  51. // Called by D_DoomLoop,
  52. // called before processing any tics in a frame
  53. // (just after displaying a frame).
  54. // Time consuming syncronous operations
  55. // are performed here (joystick reading).
  56. // Can call D_PostEvent.
  57. //
  58. void I_StartFrame (void);
  59.  
  60.  
  61. //
  62. // Called by D_DoomLoop,
  63. // called before processing each tic in a frame.
  64. // Quick syncronous operations are performed here.
  65. // Can call D_PostEvent.
  66. void I_StartTic (void);
  67.  
  68. // Asynchronous interrupt functions should maintain private queues
  69. // that are read by the synchronous functions
  70. // to be converted into events.
  71.  
  72. // Either returns a null ticcmd,
  73. // or calls a loadable driver to build it.
  74. // This ticcmd will then be modified by the gameloop
  75. // for normal input.
  76. ticcmd_t* I_BaseTiccmd (void);
  77.  
  78.  
  79. // Called by M_Responder when quit is selected.
  80. // Clean exit, displays sell blurb.
  81. void I_Quit (void);
  82.  
  83.  
  84. // Allocates from low memory under dos,
  85. // just mallocs under unix
  86. byte* I_AllocLow (int length);
  87.  
  88. void I_Tactile (int on, int off, int total);
  89.  
  90.  
  91. void I_Error (char *error, ...);
  92.  
  93.  
  94. #endif
  95. //-----------------------------------------------------------------------------
  96. //
  97. // $Log:$
  98. //
  99. //-----------------------------------------------------------------------------
  100.